package com.example.mysql.学习笔记;

/**
 * DB:数据库(Database)  就是具体的信息
 * 即存储数据的“仓库”，其本质是一个文件系统。 它保存了-系列有组织的数据。
 * DBMS:数据库管理系统(Database Management System) 就是下载的那个比如mysql5.7
 * 是一种操纵和管理数据库的大型软件，用于建立、使用和维护数据库,对数据库进行统-管理和控制。 用户通
 * 过数据库管理系统访问数据库中表内的数据。|
 * SQL:结构化查询语言(Structured Query Language)
 * 专门用来与数据库通信的语言。
 *
 * RDBMS:关系行数据库
 *
 */

/**
 * 列式数据库
 * 列式数据库是相对于行式存储的数据库，
 * Oracle. MySQL. SQL Server等数据库都是采用的
 * 行式存储(Row-based) .而列式数据库是将数据按照列存储到数据库中,
 * 这样做的好处是可以大量降低系统的1/0,适合于分布式文件系统，不足在于功能相对有限。
 *      典型产品: HBase等(大数据学的)。
 */

/**
 * 要表示多对多关系，必须创建第三个表，该表通常称为联接表，
 * 它将多对多关系划分为两个-对多关系。将这两
 * 个表的主键都插入到第三个表中。
 *
 * Mysql：  一个是数据库管理系统的位置
 *                数据库位置
 *                环境变量
 *                应用程序（管理服务）
 *
 * 连接数据库 mysql -u账号 -p密码 -hip地址 -P端口号
 * 退出连接 exit   /  quit
 * information_schema //放数据库名称 字段信息，存储权限
 * mysql//运行时候的系统信息，数据库的文件夹啥的
 * performance_schema   mysql性能指标
 * sys//性能指标
 *
 * show databases://查看当前所有数据库
 *
 *
 * 官网下载的5.7默认不能中文   英文它默认是拉丁字符集要修改
 * 8.0默认都是utf8了
 *
 */
public class Main {
    /**
     * 标识符命名规则
     * ●数据库名、表名不得超过30个字符，变量名限制为29个
     * ●必须只能包含A-Z,a-z, 0-9,_ 共63个字符
     * ●数据库名、表名、字段名等对象名中间不要包含空格
     * ●同一个MySQL软件中,数据库不能同名;同-一个库中，表不能重名;同-一个表中，字段不能重名
     * ●必须保证你的字段没有和保留字、数据库系统或常用方法冲突。
     *   如果坚持使用，请在SQL语句中使用’(着重号)引起来
     * ●保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一 定要保证一 致性,
     *   假如数据类型在一个表里是整数，那在另一个表里可就别变成字符型了
     */
}
